A portion of the disclosure of this patent document contains material which is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure, as it appears in the Patent and Trademark Office patent file or records, but otherwise reserves all copyright rights whatsoever.
1. Field of the Invention
The invention is directed to a system for determining a mapping of an input color to a surface of a color gamut. More particularly, the invention concerns performing such a mapping through iterative determinations of an intersection between a projection for mapping the input point with an approximation of the surface of the color gamut.
2. Description of the Related Art
Each different color output device is capable of color operation only in a particular range of colors, referred to as the color gamut of the device. It is common to find variations in color gamuts for different color devices, such as printers and monitors, both between the different types of devices and between different models of the devices from different manufacturers. Thus, a color printer may not be capable of printing colors displayed on a color monitor. In addition, a color input device, such as a color scanner, may be able to input colors that lie outside of the color gamut for a color monitor, a color printer, or both.
The color gamut for a color output device can be modelled in a multi-dimensional space, for example a color space having hue, chroma and lightness axes. The boundary surface of the color gamut in the color space represents a demarcation between colors that can be output by the device, and colors that cannot be output by the device. A given color can be modelled as one point in the color space.
In some cases, an input point representing a color lies inside of a volume enclosed by the surface of a first color gamut for a first device, but outside of a volume enclosed by a surface of a second color gamut for a second device. In those cases, the color can be output by the first device, but not by the second device. Conventionally, in order to output a color approximating the input point using the second device, the input point is mapped from the first color gamut to the second color gamut.
Several conventional techniques, such as the CARISMA technique, produce mappings that result in output colors which are visually satisfactory approximations of the out-of-gamut color represented by the input point. A necessary step in many of these techniques is to map the input point to the surface of the second color gamut.
According to one typical method of performing this mapping, the first and second color gamuts are modelled in a three dimensional space having hue, chroma, and lightness axes. A projection line is drawn from the input point to a predetermined point on the lightness axis. The predetermined point typically has the same hue as the input point and has lightness corresponding to lightness of a cusp of the surface of the second color gamut. Other predetermined points can be used for the projection line. Then, an intersection between the projection line and the surface of the second color gamut is determined, and this intersection is used as the mapping of the input point to the second color gamut.
The surface of the second color gamut typically is a collection of points that are determined experimentally. Thus, the surface is not represented by an equation or equations. As a result, numerical techniques are required for determining the intersection of the projection line with the surface.
Conventional numerical techniques involve searching a table which represents the surface of the second color gamut for a point that intersects the projection line. However, such searching operations can be unacceptably slow, involving numerous reading and comparison operations.
The present invention addresses the foregoing deficiency of conventional numerical methods by repeatedly estimating a point where a projection intersects an approximation of a surface of a color gamut. The estimations are performed by determining an approximation of the surface of the color gamut, and determining an intersection of the projection with the approximation. After each estimation, the approximation is updated based on the intersection. These estimations are repeated until the intersection satisfies a goodness criteria, such as when two successive estimations of the point vary by less than a predetermined small amount, or after a certain number of iterations where it can be expected that a next iteration will differ by an acceptable small amount.
It has been found that the foregoing technique rapidly arrives at a satisfactory estimation of the mapping of the input point to the surface of the color gamut. In particular, a satisfactory mapping has been found to occur in many cases with only two iterations of the estimation.
Accordingly, in one aspect, the present invention concerns a method for mapping an input point to a surface of a color gamut in a color space. According to the method, a selecting step selects a two-dimensional slice of the color space, the two-dimensional slice including the input point. A first determining step determines a projection point in the two-dimensional slice. Preferably, the projection point lies on a lightness axis of the surface, at a same hue as that of the input point, but it need not. A second determining step determines a projection which passes through the input point and the projection point. A third determining step determines an intersection point between the projection and a mathematical approximation in the two-dimensional slice between points that approximate the surface of the color gamut. A fourth determining step determines a new mathematical approximation between points at least substantially on the surface of the color gamut, wherein the new mathematical approximation is determined based on the intersection point. Next, a redetermining step redetermines the intersection point, wherein the intersection point is redetermined at an intersection between the projection and the new mathematical approximation. The fourth determining step and the redetermining step are repeated until the intersection point satisfies a goodness criteria.
By virtue of the foregoing iterative operation, an intersection which adequately maps the input point to the color gamut surface is efficiently determined.
In the preferred embodiment, the mathematical approximation in the third determining step extends between predetermined points at least substantially on the surface of the color gamut. The predetermined points preferably are stored in a table which is indexed by hue value.
This use of a table enhances the efficiency of the gamut mapping according to the invention. For example, in the case that the mathematical approximation is a straight-line segment, the mathematical approximation in the third determining step can be determined by a table look-up for endpoints of straight-line segments that approximate the color gamut for a given hue value. Then, the intersection of the projection with one of these straight-line segments can be determined by using well-known and very efficient mathematical techniques.
While the mathematical approximation preferably is one or more straight-line segments, the mathematical approximation can be one or more curves extending between points at least substantially on the surface of the color gamut.
Likewise, in the fourth determining step, the new mathematical approximation preferably is a straight-line segment extending between points at least substantially on the surface of the color gamut. The new mathematical approximation also can be a curve extending between points at least substantially on the surface of the color gamut. The shape of the mathematical approximation does not have to be the same in the third and the fourth determining steps.
In the preferred embodiment, the color space has hue, chroma, and lightness axes, and the two-dimensional slice is a slice of constant hue. The surface of the color gamut preferably is stored in a table indexed by hue and lightness values, and the table contains chroma values corresponding to hue and lightness values. Alternatively, the surface of the color gamut is stored in a table indexed by hue and chroma values, and the table contains lightness values corresponding to hue and chroma values.
The projection point preferably is a point on the lightness axis having lightness at least substantially equal to lightness of a cusp of the surface of the color gamut in the two-dimensional hue slice. This feature provides for a mapping used by many conventional techniques, for example the CARISMA technique, for outputting an out-of-gamut color with a color output device.
According to the preferred embodiment of the invention, a first one of the points determined in the fourth determining step for the new mathematical approximation has chroma at least substantially equal to chroma of the intersection point, and a second one of the points determined in the fourth determining step for the new mathematical approximation has lightness at least substantially equal to lightness of the intersection point. These two points can be easily and rapidly determined, thereby further enhancing the efficiency of the mapping.
The invention is particularly applicable to implementation of color standards, such as those that are being proposed for development to the International Color Consortium (ICC). In particular, the invention provides a rapid and efficient technique for gamut mapping that produces consistent results in accordance with such standards.
In other aspects, the invention concerns an apparatus for performing the foregoing gamut mapping, as well as computer-executable process steps and a memory medium storing such process steps for performing the gamut mapping.